/*
*d6.2.3.cpp
*Create by Administrator
* 2017年1月22日
* 上午9:18:32
*/
#include <iostream>
#include <vector>
 using std::string;
 using std::cin;
 using std::cout;
 using std::endl;
 using std::vector;

int main() {
//    const int ci= 42;  //不能改变ci，const是顶层的
//    int i= ci;       //正确：当拷贝ci时，忽略了它顶层的const
//    int * const p = &i; //const 是顶层的，不能给p赋值
//    *p = 0;              //正确：通过p改变对象的内容是允许的，现在i变成的0
//
//
//    int i=42;
//    const int *cp = &i; //正确:但是cp不能改变i
//    const int &r =i;     //正确:但是r不能改变i
//    const int &r2 = 42;   //正确：  WHY
//
//    //同样的规则应用到参数传递上
    int i=0;
//    const int ci = i;
//    string::size_type ctr=0;
   cout<<i<<endl;

	return 0;
}
